﻿using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;

namespace Ebusiness_PaymentService.Services.Dtos.OrderPayment
{
    public class OrderPaymentDto : EntityDto<Guid>
    {
        public string? OrderNo { get; set; }                    // 系统订单号

        public string? PaymentNo { get; set; }                  // 系统支付单号（可与 OrderNo 不同）

        public string? ExternalTradeNo { get; set; }            // 第三方支付平台交易号（如微信/支付宝）

        public string? PaymentChannel { get; set; }             // 支付渠道，如 "Alipay", "WeChat", "Stripe"

        public string? PaymentMethod { get; set; }              // 支付方式，如 "App", "Web", "QR"

        public decimal? TotalAmount { get; set; }               // 实际支付金额（元）

        public string? Currency { get; set; } = "CNY";          // 币种，默认人民币

        public string? Status { get; set; }                     // 支付状态：Pending, Success, Failed, Canceled

        public string? FailReason { get; set; }                 // 支付失败原因（可空）

        public DateTime? PaidTime { get; set; } = DateTime.UtcNow;           // 支付成功时间
        public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // 创建时间
        public DateTime? UpdatedAt { get; set; } = DateTime.UtcNow;         // 更新时间

        public bool IsDeleted { get; set; } = false;
    }
}
